1. Technical Field
The disclosure relates to non-volatile integrated circuit memory devices and, amongst other things, to reducing the time required for erasing and writing to a non-volatile memory that is erased in blocks.
2. Discussion of the Related Art
A type of non-volatile integrated circuit memory, known as flash memory, retains its data content even when the power to the flash memory is turned off. Flash memories are typically subdivided into blocks (e.g., pages of four bytes) that include a plurality of memory cells arranged in bytes of individual bits. The size of blocks varies depending on the memory and manufacturer. For instance, the blocks can vary in size from hundreds of bytes to megabytes.
A basic flash memory operation is to update data stored in particular bytes of particular blocks of the flash memory, without necessarily changing the data stored elsewhere in the same block. It is not generally possible to overwrite existing data with new data when updating flash memory. Rather, an update operation must: (1) read the entire block and store the data of at least those portions of the block that are not to be updated; (2) erase the entire block (called a “block erase” herein); (3) merge the new data with the stored data that was not to be updated, if any; and (4) write the merged data to the appropriate portions of the block, thereby inserting new data into the updated portion of the block and restoring the data of those portions that were not to be updated. During the block erase, all of the cells of the block are set to a fixed data pattern, e.g., all ones.
The above described update operation is time-consuming, in large part because the block erase step takes a significant amount of time. The block erase operation may take, for instance, on the order of 10 ms. In contrast, a write operation may take only a fraction of this time, e.g., 60 microseconds. The block erase operation is performed regardless of whether the portion of the block to be updated already is in an erased state before the update operation begins.
There is a great desire among flash memory users to increase the speed of memory operations. The present invention improves the state of the art by, among other things, greatly reducing the time necessary to update data in a flash memory.